package com.cskaoyan.javase.oop1._7bigexercise._4packaging;

/**
 * @description: 包装类
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 首先看一个报错: Non-static field 'start' cannot be referenced from a static context
 * 直译: 不能在一个静态上下文(静态方法,加了static的方法)中去引用一个非静态的成员变量'start'
 *
 * --> 在static方法中如果想要直接访问成员变量,那么该成员变量是static修饰的
 *
 * Integer,它是int类型的包装类,包装类的作用是将基本数据类型包装成引用数据类型
 *      除此之外,包装类中还包括这个类型的一些常见的操作和值
 * Integer.MAX_VALUE 是int类型的最大值: 2147483647
 * Integer.MIN_VALUE 是int类型的最小值: -2147483648
 *
 *
 */

public class Demo {
    static int end = Integer.MAX_VALUE; //2147483647

    static int start = end - 5; //2147483642

    public static void main(String[] args) {
        int count = 0;
        for (int i = start; i <= end; i++)
            count++;
        System.out.println(count);
        /**
         * 分析程序,买定离手:
         * count的结果是:
         *      1.5
         *      2.6
         *      3.7
         *      ...
         * 因为int类型最大值+1 = int类型最小值,所以该程序会死循环
         *
         */
    }
}
